<?php

namespace app\model;

use think\Model;

class UserModel extends Model
{
    protected $table = "user";
    protected $pk = "user_id";

    public function userClassTable() {
        return $this->hasOne("UserClassModel","user_id","user_id");
    }
    /**
     * 得到对应用户班级编号
     * @param $value
     * @param $data
     * @return mixed|null
     */
    public function getClassIdAttr($value) {
        return $this->userClassTable->class_id;
    }

    /**
     * 得到对应班级编号的班级名
     * @param $value
     * @return mixed
     */
    public function getClassNameAttr($value) {
        return $this->userClassTable->classTable->class_name;
    }


    /**
     * 得到对应班级的院系编号
     * @param $value
     * @return mixed|null
     */
    public function getDepartmentIdAttr($value) {
        return $this->userClassTable->classTable->classDepartmentTable->department_id;
    }

    /**
     * 得到对应院系编号的院系名
     * @param $value
     * @return mixed|null
     */
    public function getDepartmentNameAttr($value) {
        return $this->userClassTable->classTable->classDepartmentTable->departmentTable->department_name;
    }


//    /**
//     * 获取器 数据表中不存在的字段测试
//     * @param $value
//     * @param $data
//     * @return string
//     */
//    public function getTestAttr($value,$data) {
//        $test = [0=>"测试0",1=>"测试1"];
//        return $test[$data["is_delete"]];
//    }
//
//    /**
//     * 得到对应用户班级编号
//     * @param $value
//     * @param $data
//     * @return mixed|null
//     */
//    public function getClassIdAttr($value,$data) {
//        $classId = UserClassModel::where("user_id",$data["user_id"])->field("class_id")->find();
//        return $classId["class_id"];
//    }
//
//    /**
//     * 得到对应班级编号的班级名
//     * @param $value
//     * @return mixed|null
//     */
//    public function getClassNameAttr($value) {
//        $classId = $this->getAttr("class_id");
//        $className = ClassModel::where("class_id",$classId)->field("class_name")->find();
//        return $className["class_name"];
//    }
//
//
//    /**
//     * 得到对应班级的院系编号
//     * @param $value
//     * @return mixed|null
//     */
//    public function getDepartmentIdAttr($value) {
//        $classId = $this->getAttr("class_id");
//        $departmentId = ClassDepartmentModel::where("class_id",$classId)->field("department_id")->find();
//        return $departmentId["department_id"];
//    }
//
//    /**
//     * 得到对应院系编号的院系名
//     * @param $value
//     * @return mixed|null
//     */
//    public function getDepartmentNameAttr($value) {
//        $departmentId = $this->getAttr("department_id");
//        $departmentName = DepartmentModel::where("department_id",$departmentId)->field("department_name")->find();
//        return $departmentName["department_name"];
//    }
}